home *** CD-ROM | disk | FTP | other *** search
/ Linux Cubed Series 3: Developer Tools / Linux Cubed Series 3 - Developer Tools.iso / devel / lang / fortran / toolpack.000 / toolpack / toolpack1.2 / tools / istal / ISTAL.MAC.f < prev   
Encoding:
Text File  |  1989-03-04  |  5.9 KB  |  217 lines

  1. C---------------------------------------------------------
  2. C    TOOLPACK/1    Release: 2.4
  3. C---------------------------------------------------------
  4. C
  5. C  ISTAL  - FORTRAN 77 ANALYSER  PROGRAM
  6. C           BASED ON NBS F77 ANALYSER BY TRW
  7. C
  8. C  TIE CONFORMANCE:      BOB ILES SEP 1984
  9. C
  10. C          TIE VERSION
  11. C
  12.       PROGRAM ISTAL
  13.  
  14.       INTEGER CMD
  15.       INTEGER CMDPTH(81), OUTPTH(81)
  16.  
  17.       INTEGER OPEN, GETARG, CREATE
  18. C---------------------------------------------------------
  19. C    TOOLPACK/1    Release: 2.4
  20. C---------------------------------------------------------
  21.       INTEGER ANNFD,  DYNFD,  SUMFD
  22.       INTEGER ANNNAM(81), DYNNAM(81),
  23.      +        SUMNAM(81)
  24.  
  25.       COMMON /CFILES/  ANNNAM, DYNNAM, SUMNAM,
  26.      +                 ANNFD,  DYNFD,  SUMFD
  27. C---------------------------------------------------------
  28. C    TOOLPACK/1    Release: 2.4
  29. C---------------------------------------------------------
  30.       LOGICAL VERBOS, CASFOL, DEBUG, INTRIN, IMPLI, DECLIE
  31.       INTEGER OUTFD,  RMARG, REPRTS
  32.  
  33.       COMMON /CINFO/ VERBOS, OUTFD, CASFOL, RMARG,
  34.      +               DEBUG, REPRTS, INTRIN, IMPLI, DECLIE
  35.       SAVE
  36.  
  37. C INITIALISE TIE AND RECOVER PARAMETERS
  38.       CALL ZINIT
  39.  
  40. C CHECK FOR THE EXISTENCE OF THE REQUIRED PATHNAME
  41.       IF(GETARG(1, CMDPTH, 81) .EQ. -100) CALL NAMES(1, CMDPTH)
  42.       IF(GETARG(2, OUTPTH, 81) .EQ. -100) CALL NAMES(2, OUTPTH)
  43.  
  44. C OPEN OR CREATE ALL FILES
  45.       CMD = OPEN (CMDPTH, 0)
  46.       IF (CMD .EQ. -1) CALL ERROR
  47.      +  ('ISTAL - UNABLE TO OPEN COMMAND INPUT FILE.')
  48.  
  49.       OUTFD = CREATE (OUTPTH, 1)
  50.       IF (OUTFD .EQ. -1) CALL ERROR
  51.      +  ('ISTAL - UNABLE TO CREATE OUTPUT FILE.')
  52.  
  53.       ANNFD = -1
  54.       DYNFD = -1
  55.       SUMFD = -1
  56.       ANNNAM(1) = 129
  57.       DYNNAM(1) = 129
  58.       SUMNAM(1) = 129
  59.       REPRTS = 0
  60.       VERBOS = .FALSE.
  61.       DEBUG  = .FALSE.
  62.       CASFOL = .TRUE.
  63.       INTRIN = .TRUE.
  64.       IMPLI  = .TRUE.
  65.       DECLIE = .FALSE.
  66.       IF(OUTFD .EQ. 1) THEN
  67.         RMARG  = 80
  68.       ELSE
  69.         RMARG  = 65
  70.       ENDIF
  71. C
  72. C  CALL THE FORMATTING ROUTINES
  73. C
  74.       CALL SPOSTD(CMD)
  75.  
  76.       IF(REPRTS .EQ. 0) THEN
  77.         CALL ZMESS('[ISTAL Normal Termination].', 1)
  78.         CALL ZQUIT(-2)
  79.       ELSE
  80.         CALL ZMESS('[ISTAL errors reported].', 1)
  81.         CALL ZQUIT(-1)
  82.       ENDIF
  83.  
  84.       END
  85. C---------------------------------------------------------------------
  86. C
  87.       SUBROUTINE NAMES(OPT, PATH)
  88.  
  89.       INTEGER PATH(*), MSG1(13), MSG2(14)
  90.       INTEGER ZGTCMD
  91.       INTEGER STAT, OPT
  92.  
  93.       DATA (MSG1(STAT),STAT=1,13)/73,110,112,117,116,32,
  94.      +                      102,105,108,101,58,32,129/
  95.       DATA (MSG2(STAT),STAT=1,14)/79,117,116,112,117,116,32,
  96.      +                      102,105,108,101,58,32,129/
  97.  
  98.       IF(OPT .EQ. 1) CALL ZPRMPT(MSG1)
  99.       IF(OPT .EQ. 2) CALL ZPRMPT(MSG2)
  100.       STAT = ZGTCMD(PATH, 0)
  101.  
  102.       RETURN
  103.       END
  104. C -------------------------------------------------------------
  105. C
  106. C  INITIALIZE SYSTEM STATEMENT TYPE DIRECTORY.
  107. C
  108.       SUBROUTINE KEYS
  109. C
  110. C---------------------------------------------------------
  111. C    TOOLPACK/1    Release: 2.4
  112. C---------------------------------------------------------
  113. C
  114. C     .. Parameters ..
  115. C
  116. C  MAXSEG     The maximum number of segments that can be held in memory
  117. C  MAXROU     The maximum number of routines that can be held in memory
  118. C
  119.  
  120.       INTEGER LMAXG, MAXSEG, MAXROU, MAXASR, MAXPRO
  121.       PARAMETER(LMAXG=61, MAXSEG=2048, MAXROU=512, MAXASR=512)
  122.       PARAMETER(MAXPRO= MAXROU + 1)
  123. C     ..
  124. C---------------------------------------------------------
  125. C    TOOLPACK/1    Release: 2.4
  126. C---------------------------------------------------------
  127. C     .. Scalars in Common ..
  128.       INTEGER     KAGOG,
  129.      +            KAIFG,KASMTG,KASSNG,KBACKG,KBIFG,KBLOKG,KCALLG,KCFUNG,
  130.      +            KCGOG,KCHARG,KCLOSG,KCMPXG,KCOMNG,KCONTG,KDATAG,
  131.      +            KDBLEG,KDFUNG,KDIMNG,KDOG,KELSEG,KELSFG,KENDFG,KENDG,
  132.      +            KENDIG,KEQIVG,KEXTLG,KFORMG,KIFUNG,KIMPLG,KINQRG,
  133.      +            KINSCG,KINTEG,KLFUNG,KLIFG,KLOGCG,KNONEG,KNTRYG,
  134.      +            KOPENG,KPARAG,KPAUSG,KPRNTG,KPROGG,KREADG,KREALG,
  135.      +            KRETNG,KRFUNG,KSAVEG,KSFUNG,KSTOPG,KSUBRG,KUFUNG,
  136.      +            KUGOG,KWINDG,KWRITG,KXFUNG,LASRTG,LCMNTG,LERRG,
  137.      +            LLINEG,LSTMTG
  138. C     ..
  139. C     .. Common blocks ..
  140.       COMMON      /KEYSC/KAGOG,KAIFG,KASMTG,KASSNG,KBACKG,KBIFG,KBLOKG,
  141.      +            KCALLG,KCFUNG,KCGOG,KCHARG,KCLOSG,KCMPXG,KCOMNG,
  142.      +            KCONTG,KDATAG,KDBLEG,KDFUNG,KDIMNG,KDOG,KELSEG,KELSFG,
  143.      +            KENDFG,KENDG,KENDIG,KEQIVG,KEXTLG,KFORMG,KIFUNG,
  144.      +            KIMPLG,KINQRG,KINSCG,KINTEG,KLFUNG,KLIFG,KLOGCG,
  145.      +            KNONEG,KNTRYG,KOPENG,KPARAG,KPAUSG,KPRNTG,KPROGG,
  146.      +            KREADG,KREALG,KRETNG,KRFUNG,KSAVEG,KSFUNG,KSTOPG,
  147.      +            KSUBRG,KUFUNG,KUGOG,KWINDG,KWRITG,KXFUNG,LASRTG,
  148.      +            LCMNTG,LERRG,LLINEG,LSTMTG
  149. C     ..
  150.       SAVE
  151.  
  152.       KASSNG  = 1
  153.       KBACKG  = 2
  154.       KBLOKG  = 3
  155.       KCALLG  = 4
  156.       KCFUNG  = 5
  157.       KCHARG  = 6
  158.       KCLOSG  = 7
  159.       KCOMNG  = 8
  160.       KXFUNG  = 9
  161.       KCMPXG  = 10
  162.       KCONTG  = 11
  163.       KDATAG  = 12
  164.       KDIMNG  = 13
  165.       KDFUNG  = 14
  166.       KDBLEG  = 15
  167.       KDOG    = 16
  168.       KELSFG  = 17
  169.       KELSEG  = 18
  170.       KENDFG  = 19
  171.       KENDIG  = 20
  172.       KENDG   = 21
  173.       KNTRYG  = 22
  174.       KEQIVG  = 23
  175.       KEXTLG  = 24
  176.       KFORMG  = 25
  177.       KUFUNG  = 26
  178.       KUGOG   = 27
  179.       KLIFG   = 28
  180.       KIMPLG  = 29
  181.       KINQRG  = 30
  182.       KIFUNG  = 31
  183.       KINTEG  = 32
  184.       KINSCG  = 33
  185.       KLFUNG  = 34
  186.       KLOGCG  = 35
  187.       KOPENG  = 36
  188.       KPARAG  = 37
  189.       KPAUSG  = 38
  190.       KPRNTG  = 39
  191.       KPROGG  = 40
  192.       KREADG  = 41
  193.       KRFUNG  = 42
  194.       KREALG  = 43
  195.       KRETNG  = 44
  196.       KWINDG  = 45
  197.       KSAVEG  = 46
  198.       KSTOPG  = 47
  199.       KSUBRG  = 48
  200.       KWRITG  = 49
  201.       KAGOG   = 50
  202.       KCGOG   = 51
  203.       KAIFG   = 52
  204.       KBIFG   = 53
  205.       KASMTG  = 54
  206.       KSFUNG  = 55
  207.       KNONEG  = 56
  208.       LASRTG  = 57
  209.       LCMNTG  = 58
  210.       LERRG   = 59
  211.       LLINEG  = 60
  212.       LSTMTG  = 61
  213.  
  214.       RETURN
  215.       END
  216.  
  217.